/**
 * @Name：layuiAdmin 系统管理->规则管理
 * @Author：star1029
 * @Site：http://www.layui.com/admin/
 * @License：LPPL
 */

layui.define(['table', 'form'], function(exports){
    var $ = layui.$
        ,admin = layui.admin
        ,view = layui.view
        ,table = layui.table
        ,form = layui.form;

    //规则管理
    table.render({
        elem: '#LAY-rule-manage'
        ,url: '/getAllRulesPageServlet' //模拟接口
        ,cols: [[
            {type: 'checkbox', fixed: 'left'}
            ,{field: 'ruleId', title: '规则ID', sort: true}
            ,{field: 'levelId', title: '等级ID', width: 100}
            ,{field: 'worksId', title: '作品ID', width: 150}
            ,{field: 'ruleCount', title: '规则计数', width: 100}
            ,{field: 'ruleYears', title: '规则年限', width: 100}
            ,{field: 'ruleMemo', title: '规则备注', width: 200}
            ,{field: 'ruleFlag', title: '规则标志', width: 100}
            ,{title: '操作', width: 150, align:'center', fixed: 'right', toolbar: '#table-system-rule'}
        ]]
        ,page: true
        ,limit: 10
        ,height: 'full-320'
        ,text: '对不起，加载出现异常！'
    });

    //监听工具条
    table.on('tool(LAY-rule-manage)', function(obj){
        var data = obj.data;
        if(obj.event === 'del'){
            layer.confirm('真的要删除么？', function(index){
                $.ajax({
                    type:'POST'
                    ,url:'/deleteRuleServlet'
                    ,data:{"cid":data.ruleId}
                    ,success:function(data){
                        if(data=="Ok"){
                            layer.alert('删除成功',{icon:6});
                            obj.del();
                        }else{
                            layer.alert(data,{title:'删除失败'});
                        }
                    }
                });
                layui.table.reload('LAY-rule-manage'); //重载表格
            });
        } else if(obj.event === 'edit'){
            admin.popup({
                title: '编辑规则'
                ,area: ['500px', '450px']
                ,id: 'LAY-popup-rule-add'
                ,success: function(layero, index){
                    view(this.id).render('rule/update', data).done(function(){
                        form.render(null, 'layuiadmin-form-rule');

                        //监听提交
                        form.on('submit(LAY-modify)', function(data){
                            var field = data.field; //获取提交的字段
                            //提交 Ajax 成功后，关闭当前弹层并重载表格
                            $.ajax({
                                type : 'POST',
                                url : '/updateRuleServlet',
                                data : field,
                                success : function(data) {
                                    if (data == "Ok") {
                                        layer.alert("修改成功", {
                                            icon : 6
                                        });
                                    } else {
                                        layer.alert(data, {
                                            title : '修改失败'
                                        });
                                    }
                                }
                            });
                            layui.table.reload('LAY-rule-manage'); //重载表格
                            layer.close(index); //执行关闭
                        });
                    });
                }
            });
        }
    });

    form.render(null, 'layadmin-userfront-formlist');

    //监听搜索
    form.on('submit(LAY-department-front-search)', function(data){
        var field = data.field;

        //执行重载
        table.reload('LAY-department-manage', {
            page:{
                curr:1
            }
            ,where: field
            ,method:'post'
        });
    });

    //事件
    var active = {
        batchdel: function(){
            var checkStatus = table.checkStatus('LAY-department-manage')
                ,checkData = checkStatus.data; //得到选中的数据

            if(checkData.length === 0){
                return layer.msg('请选择数据');
            }

            layer.prompt({
                formType: 1
                ,title: '敏感操作，请验证口令'
            }, function(value, index){
                layer.close(index);

                layer.confirm('确定删除吗？', function(index) {

                    //执行 Ajax 后重载
                    /*
                    admin.req({
                      url: 'xxx'
                      //,……
                    });
                    */
                    table.reload('LAY-department-manage');
                    layer.msg('已删除');
                });
            });
        }
        ,add: function(){
            admin.popup({
                title: '添加部门'
                ,area: ['500px', '450px']
                ,id: 'LAY-popup-user-add'
                ,success: function(layero, index){
                    view(this.id).render('rule/add').done(function(){
                        form.render(null, 'layuiadmin-form-department');

                        //监听提交
                        form.on('submit(LAY-department-add)', function(data){
                            var field = data.field; //获取提交的字段

                            //提交 Ajax 成功后，关闭当前弹层并重载表格
                            //$.ajax({});
                            $.ajax({
                                type : 'POST',
                                url : '/addRuleServlet',
                                data : field,
                                success : function(data) {
                                    if (data == "Ok") {
                                        layer.alert("增加成功", {
                                            icon : 6
                                        });
                                    } else {
                                        layer.alert(data, {
                                            title : '添加失败'
                                        });
                                    }
                                }
                            });
                            layui.table.reload('LAY-department-manage'); //重载表格
                            layer.close(index); //执行关闭
                        });
                    });
                }
            });
        }
    };

    $('.layui-btn.layuiadmin-btn-useradmin').on('click', function(){
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });

    exports('rule', {})
});